# -*- coding: utf-8 -*-
"""
Created on Sat Aug 26 15:57:00 2023

@author: skunk69
"""

import json

chinese_name = u'儿童焦虑性情绪障碍筛查表'
english_name = 'The Screen for Children Anxiety Related Emotional Disorders'
abbreviation = 'SCARED'
category = u'精神病学临床量表'

outline = u"""儿童焦虑性情绪障碍筛查表(The Screen for Child Anxiety Related Emotional Disorders，SCARED)由Birmaher于1997年编制，用于8～18岁儿童青少年焦虑障碍的自评，由38个条目组成，通过因子分析提取五个因子，平行于DSM-Ⅳ对焦虑障碍的分类，包括：躯体化/惊恐、广泛性焦虑、分离性焦虑、社交恐怖、学校恐怖。另外，从每个因子中提取负荷最高的一项，组成简明焦虑量表。1999年作者将量表修订为41条。2008年由我国中南大学附属湘雅二院苏林雁、王凯等在我国修订并编制了全国标准化常模。SCARED是一种实用有效的焦虑症状自我评定工具；也可以作为父母用量表，用于评估6～18岁儿童。该表最大的特点是可以把焦虑和抑郁分离开来，避免了焦虑和抑郁的混淆，为临床诊断提供参考，也可用于在初级卫生保健机构和社区由父母/儿童筛查焦虑障碍。SCARED对治疗敏感。"""

instruction = u"""请你根据最近3个月的实际感受填写下来，不要考虑怎样回答才“正确”，仅根据你的感知如实回答，在“没有此问题”、“有时有”、“经常有”中选择一项。"""

with open('SCARED.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for line in lines:
    key,value = line.strip().split('.',maxsplit=1)
    items[key] = value.strip()

reverse_items = []
scales = [u'躯体化/惊恐',u'广泛性焦虑',u'分离性焦虑',u'社交恐怖',u'学校恐怖']
scales_items = [
    [1,6,9,12,15,18,19,22,24,27,30,34,38],# 躯体化/惊恐
    [5,7,14,21,23,28,33,35,37],# 广泛性焦虑
    [4,8,13,16,20,25,29,31],# 分离性焦虑
    [3,10,26,32,39,40,41],# 社交恐怖
    [2,11,17,36],# 学校恐怖
    ]

# check scales_items
print(f'scale length={[len(l) for l in scales_items]}')

check = []
for l in scales_items:
    check = check+l
print(f'len(check)={len(check)}')

# complementary set
check_set = {i for i in sorted(check)}^{i for i in range(1,42)}
print(f'complementary set= {check_set}')

factors = []
factors_scales = []
rating = [u'没有此问题',u'有时有',u'经常有']
score_rules = list(range(3))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《儿童焦虑性情绪障碍筛查表》是一个自评量表。适用于8～16岁儿童青少年自评焦虑障碍。"""

reliability = u"""苏林雁、王凯等2008年在全国12个大中城市抽样1559名，年龄(11.8±2.11)岁，制定全国城市儿童的常模。
内部一致性Cronbach's α各分量表为0.43～0.77，总分为0.89；间隔半个月重测信度ｒ=0.51～0.82，总分0.61，间隔三个月重测信度r=0.29～0.69，总分0.57。父母与青少年子女之间的一致性各分量表为0.54～0.64，总分为0.67。"""
validity = u"""在判别效度方面，比较48例焦虑障碍、30例抑郁障碍、50例ADHD患儿的得分，SCARED总分焦虑障碍组30.27±9.94，抑郁障碍组24.67±10.43，ADHD组21.00±11.99，常模组15.00±10.25，得分依次递减，F=46.58(P<0.001)。在会聚效度方面，SCARED总分与CBCL内化性障碍得分的相关r=0.41，高于外化性障碍r=0.19(P<0.01)。采用ROC分析，以总分≥25分作为划界值进行ROC分析，对焦虑障碍和常模组的诊断灵敏度为79%，特异度为82%。
在结构效度方面，将常模组与焦虑组儿童的SCARED项目经方差极大正交旋转法进行主成分分析，共提取12个特征根值N1的因子。主要前五个因子为：广泛性焦虑、学校恐怖、分离性焦虑、惊恐、躯体化，解释总方差的71.56%。与原量表结构基本一致。用LISREL8.51对进行验证性因素分析，40个项目五因素模型拟和较好(X2/df=3.8，NFI=0.81，NNFI=0.93，GFI=0.92，RMSEA=0.029)。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""主要统计指标为各因子分和总分。以总分≥25分作为划界值，得分大于此值即有焦虑障碍的可能。"""

applications = u"""在国内广泛应用于中小学生焦虑障碍的调查、儿童躯体疾病（糖尿病、艾滋病、白血病，哮喘、慢性病）的心理问题研究，留守儿童、灾后（汶川地震）心理特征研究，以及治疗干预疗效的评估。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)